AWS SDK for Python を使用してAmazon Connectのキューとルーティングプロファイルを一括削除する方法

AWS SDK for Python を使用してAmazon Connectのキューとルーティングプロファイルを一括削除する方法

Clock Icon2024.09.26

こんにちは。
繁松です。

はじめに

Amazon Connectのキューとルーティングプロファイルは、コンソールから削除することができません。
削除するにはAWS CLI等のコマンドを利用する必要があります。
AWS CLIの場合はリソースのIDを確認しながら削除する必要があるので、複数のリソースをまとめて削除したい場合には手間がかかります。

https://dev.classmethod.jp/articles/amazon-connect-delete-command/

今回はAWS SDK for Python を使用してインスタンス内のキューとルーティングプロファイルをまとめて削除する方法を紹介します。

キューの削除

キューを削除する対象のインスタンスのIDを確認しスクリプト内で指定します。
インスタンスからキューの一覧を取得し、すべてのキューを削除する内容になっています。

import boto3

def delete_queues(instance_id, region_name='ap-northeast-1'):
    # boto3クライアントの作成
    connect = boto3.client('connect', region_name=region_name)

    # キューの一覧を取得
    list_queues = connect.list_queues(
        InstanceId=instance_id,
        QueueTypes=[
            'STANDARD'
        ]
    )['QueueSummaryList']

    # キューを削除
    for queue in list_queues:
        queue_id = queue['Id']

        try:
            connect.delete_queue(
                InstanceId=instance_id,
                QueueId=queue_id
            )
            print(f"{queue['Name']}を削除しました。")
        except Exception as e:
            print(f"{queue['Name']}の削除に失敗しました。: {e}")

# インスタンスIDを指定
instance_id = 'Amazon Connect インスタンスID'

delete_queues(instance_id)

実行前

2024-09-26_22h48_21

実行後

クイック接続とルーティングプロファイルに設定されているキューは削除されません。
フローに設定されているキューは削除されます。
2024-09-26_22h48_34

ルーティングプロファイルの削除

ルーティングプロファイルを削除する対象のインスタンスのIDを確認しスクリプト内で指定します。
インスタンスからルーティングプロファイルの一覧を取得し、すべてのルーティングプロファイルを削除する内容になっています。

import boto3

def delete_routing_profiles(instance_id, region_name='ap-northeast-1'):
    # boto3クライアントの作成
    connect = boto3.client('connect', region_name=region_name)

    # ルーティングプロファイル一覧を取得
    list_routing_profiles = connect.list_routing_profiles(
        InstanceId=instance_id,
    )['RoutingProfileSummaryList']

    # ルーティングプロファイルを削除
    for routing_profile in list_routing_profiles:
        routing_profile_id = routing_profile['Id']

        try:
            connect.delete_routing_profile(
                InstanceId=instance_id,
                RoutingProfileId=routing_profile_id
            )
            print(f"{routing_profile['Name']}を削除しました。")
        except Exception as e:
            print(f"{routing_profile['Name']}の削除に失敗しました。: {e}")

# インスタンスIDを指定
instance_id = 'Amazon Connect インスタンスID'

delete_routing_profiles(instance_id)

実行前

2024-09-26_09h07_56

実行後

エージェントに設定されているルーティングプロファイルは削除されません。
2024-09-26_09h22_48

さいごに

設定されているキュー、ルーティングプロファイルは削除されません。
検証環境でキューやルーティングプロファイルをまとめて削除したい場合に役立ちます。

以上、キューとルーティングプロファイルの削除についてでした。

この記事をシェアする

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.